package br.ucb.sigplan.util;

import java.util.List;

import br.ucb.sigplan.beans.Calendario;
import br.ucb.sigplan.crud.CalendarioCrud;
import br.ucb.sigplan.exception.DAOException;

public class CalendarioUtil {
	public static void configuraInicioFimSemestre(Calendario inicioSemestre, Calendario fimSemestre) throws DAOException{
		List<Calendario> dias = CalendarioCrud.findDatas('A');
		if (dias.isEmpty()) {
			CalendarioCrud.insert(inicioSemestre);
			CalendarioCrud.insert(fimSemestre);
		}
		else if (findDias(dias, inicioSemestre, fimSemestre) ) {
			CalendarioCrud.update(inicioSemestre);
			CalendarioCrud.update(fimSemestre);
		}
	}
	
	public static boolean findDia(List<Calendario> dias, Calendario dia) {
		for (Calendario calendario : dias) {
			if (calendario.getTipo() == dia.getTipo() && calendario.getDescricao().equalsIgnoreCase(dia.getDescricao())) {
				dia.setIdCalendario(calendario.getIdCalendario());
				return true;
			}
		}
		return false;
	}
	
	public static boolean findDias(List<Calendario> dias, Calendario inicioSemestre, Calendario fimSemestre) {
		return findDia(dias, inicioSemestre) && findDia(dias, fimSemestre);
	}
}
